const app = getApp()

var netUtil = require("../../utils/netUtil.js"); //require引入

Page({

  /**
   * 页面的初始数据
   */
  data: {
    height: app.globalData.height,
    heightTop: app.globalData.height * 2 + 10,
    userInfo: wx.getStorageSync("userInfo"),
    sfzPositiveImg:'',
    sfzBackImg: '',
    checked:false,
    telText:'获取验证码',
    urgentTelText: '获取验证码',
    canClick:true,
    urCanClick: true,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    this.setData({
      userInfo: wx.getStorageSync("userInfo"),
      
    })
    // is_valid=1表示已认证 0没认证
    
      if (this.data.userInfo.is_valid === 1) {
        this.setData({
          name: this.data.userInfo.id_name,
          codeSfz: this.data.userInfo.id_number,
          sfzPositiveImg: this.data.userInfo.id_positive_image,
          sfzBackImg: this.data.userInfo.id_back_image,
          urgentTel: this.data.userInfo.urgent_contact_mobile
        })
      }
    
    
   
    
  },
 
  getName(e){
    this.setData({
      name: e.detail.value
    })
  },
  getCodeSfz(e){
    this.setData({
      codeSfz: e.detail.value
    })
  },
  getTel(e){
    this.setData({
      tel: e.detail.value
    })
  },
  getUrgentTel(e){
    this.setData({
      urgentTel: e.detail.value
    })
  },
  getUrgentCode(e){
   
    this.setData({
      urgentCode: e.detail.value
    })
  },
  getCode(e) {
    this.setData({
      code: e.detail.value
    })
  },
  // getCode(e) {
  //   this.setData({
  //     urgent_code: e.detail.value
  //   })
  // },
  // 身份证正面
  sfzPositive(){
    var that=this
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePaths = res.tempFilePaths
        that.setData({
          sfzPositiveImg: tempFilePaths
        })
        that.upImage(tempFilePaths,'id_front')
      }
    })
  },
  // 身份证反面
  sfzBack(){
    var that = this
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        wx.showLoading({
          title: '加载中',
        })
        const tempFilePaths = res.tempFilePaths
        that.setData({
          sfzBackImg: tempFilePaths
        })
        that.upImage(tempFilePaths,'id_back')
      }
    })
  },

  getPhoneNumber: function (e) {//点击获取手机号码按钮
    var that = this;
    // 微信登录
    wx.login({
      success(res) {
        if (res.code) {
          let data = {
            code: res.code
          }
          // 获取token
          netUtil.postData('home/requestSession', data, (datas) => {

            let userInfo = wx.getStorageSync("userInfo")
            console.log(datas)
            userInfo.token = datas.data.token
            that.setData({
              userInfo: userInfo
            })
            wx.setStorageSync("userInfo", userInfo);

            wx.checkSession({
              success: function () {

                var ency = e.detail.encryptedData;
                var iv = e.detail.iv;
                if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
                  wx.showToast({
                    title: '获取手机号失败',
                    icon: 'none',
                    duration: 2000
                  })
                } else {//同意授权
                  let params = {
                    token: that.data.userInfo.token,
                    iv: encodeURIComponent(iv),
                    encryptedData: encodeURIComponent(ency)
                  }

                  // 存入手机号
                  netUtil.postData('home/updateMobile', params, (datas) => {
                    
                    that.setData({
                      tel: datas.data
                    })
                  })
                }
              }
            });
          })
        } else {
          console.log('登录失败！' + res.errMsg)
        }
      }
    })

  },



  getTelCode(e){
    
    var _this = this 
    if (!_this.data.tel) {
      wx.showToast({
        title: '请输入电话号码',
        icon: 'none'
      })
      return
    }
    if (_this.data.canClick==false) return
    _this.setData({
      canClick:false
    })
    
    let params={
      mobile: _this.data.tel
    }
    netUtil.postData('/get-mobile-code', params, (datas) => {
      if (datas.code==0){
        var coden = 60    // 定义60秒的倒计时
        var codeV = setInterval(function () {
         
            _this.setData({    // _this这里的作用域不同了
              telText: '重新获取' + (--coden) + 's'
            })
            if (coden == -1) {  // 清除setInterval倒计时，这里可以做很多操作，按钮变回原样等
              clearInterval(codeV)
              _this.setData({
                telText: '获取验证码',
                canClick:true
              })
            }
          
        }, 1500)  //  1000是1秒
      }else{
        wx.showToast({
          title: datas.message,
          icon:'none'
        })
      }
    })

  },
  getUrgentTelCode(){
    var _this = this
    if (!_this.data.urgentTel){
      wx.showToast({
        title: '请输入紧急联系人电话',
        icon:'none'
      })
      return
    }
    if (_this.data.urCanClick == false) return
    _this.setData({
      urCanClick: false
    })

    let params = {
      mobile: _this.data.urgentTel
    }
    netUtil.postData('/get-mobile-code', params, (datas) => {
      if (datas.code == 0) {
        var coden = 60    // 定义60秒的倒计时
        var codeV = setInterval(function () {

          _this.setData({    // _this这里的作用域不同了
            urgentTelText: '重新获取' + (--coden) + 's'
          })
          if (coden == -1) {  // 清除setInterval倒计时，这里可以做很多操作，按钮变回原样等
            clearInterval(codeV)
            _this.setData({
              urgentTelText: '获取验证码',
              urCanClick: true
            })
          }

        }, 1500)  //  1000是1秒
      } else {
        wx.showToast({
          title: datas.message,
          icon: 'none'
        })
      }
    })
  },
  // 上传图片
  upImage(tempFilePaths,type){
    var that=this;
    wx.uploadFile({
      url: getApp().globalData.url + '/upload-temp-image?token=' + this.data.userInfo.token, //仅为示例，非真实的接口地址
      filePath: tempFilePaths[0],
      name: 'file',
      success(res) {
        wx.hideLoading()
        var data = JSON.parse(res.data)
        if (data.code==0){
          if (type == 'id_back'){
            that.setData({
              'id_back': data.data.path
            })
          }else{
            that.setData({
              'id_front': data.data.path
            })
          }
         
        }else{
          wx.showToast({
            title: res.data.message,
            icon:'none'
          })
        }
      }
    })
  },
  // 提交
  submit() {
    var that=this
    if (that.verification() === false) return
    wx.showLoading({
      title: '加载中',
    })
    let params = {
      token: that.data.userInfo.token,
      id_back: that.data.id_back,
      id_front: that.data.id_front,
      id_number: that.data.codeSfz,
      id_name: that.data.name,
      urgent_contact_mobile: that.data.urgentTel,
      mobile: that.data.tel,
      code: that.data.code
    }
    netUtil.postData('/card-valid', params, (datas) => {
      wx.hideLoading()
      if (datas.code==0){
        wx.showToast({
          title: '认证成功'
        })
        that.getUser()
        setTimeout(()=>{
          wx.navigateBack({
            delta: 1
          })
        },2000)
      }else{
        wx.showToast({
          title: datas.message,
          icon:'none'
        })
      }
    })
  },
  // 获取用户信息
  getUser() {
    let params = {
      token: this.data.userInfo.token
    }
    netUtil.postData('/get-customer', params, (datas) => {

      let info = wx.getStorageSync("userInfo")
      // info.model = datas.data.model
      info = datas.data.model
      info.token = wx.getStorageSync("userInfo").token;
      wx.setStorageSync("userInfo", info)
      this.setData({
        service_phone: datas.data.service_phone,
        userInfo: wx.getStorageSync("userInfo")
      })
    })
  },

  checkboxChange(e){
   
    this.setData({
      checked: !this.data.checked
    })
  },
  toagree(){
    wx.navigateTo({
      url: '/pages/agreement/agreement',
    })
  },
  // 验证
  verification(){
    // if (!this.data.name){
    //   wx.showToast({
    //     title: '请填写姓名',
    //     icon:'none'
    //   })
    //   return false
    // } else if (!this.data.tel) {
    //   wx.showToast({
    //     title: '请填写电话号码',
    //     icon: 'none'
    //   })
    //   return false
    // } 
    
    // else if (!this.data.urgentTel) {
    //   wx.showToast({
    //     title: '请输入紧急联系人电话',
    //     icon: 'none'
    //   })
    //   return false

    // } else if (!this.data.urgentCode){
     
    //   wx.showToast({
    //     title: '请输入紧急联系人验证码',
    //     icon: 'none'
    //   })
    //   return false
    // }
    // else if (!this.data.urgent_code) {
    //   wx.showToast({
    //     title: '紧急联系人验证码',
    //     icon: 'none'
    //   })
    //   return false
    // }
    // else if (!this.data.codeSfz){
    //   wx.showToast({
    //     title: '请填写身份证号',
    //     icon: 'none'
    //   })
    //   return false
    // } 
    // else if (!this.data.id_back){
    //   wx.showToast({
    //     title: '请上传身份证反面',
    //     icon: 'none'
    //   })
    //   return false
    // }
    //  else if (!this.data.id_front) {
    //   wx.showToast({
    //     title: '请上传身份证正面',
    //     icon: 'none'
    //   })
    //   return false
    // }
      if (!this.data.checked){
      wx.showToast({
        title: '请勾选须知',
        icon: 'none'
      })
      return false
    }
    return true
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      tel: wx.getStorageSync("userInfo").mobile,
      userInfo: wx.getStorageSync("userInfo")
    })
  },
  goBack(){
    wx.navigateBack({
      delta: 1
    })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})